<script lang="ts">
import { defineComponent, defineAsyncComponent } from 'vue';

const ViewTupleBasic = defineAsyncComponent(() => import('./basic/ViewTupleBasic.vue'));
const ViewTupleImage = defineAsyncComponent(() => import('./basic/ViewTupleImage.vue'));
const ViewTupleTable = defineAsyncComponent(() => import('./basic/ViewTupleTable.vue'));

const ViewFormVariable = defineAsyncComponent(() => import('./form/ViewFormVariable.vue'));
const ViewFormTextVariable = defineAsyncComponent(() => import('./form/ViewFormTextVariable.vue'));
const ViewFormToggle = defineAsyncComponent(() => import('./form/ViewFormToggle.vue'));
const ViewFormCircularProgress = defineAsyncComponent(() => import('./form/ViewFormCircularProgress.vue'));
const ViewFormLinearProgress = defineAsyncComponent(() => import('./form/ViewFormLinearProgress.vue'));
const ViewFormButton = defineAsyncComponent(() => import('./form/ViewFormButton.vue'));
const ViewFormKnobButton = defineAsyncComponent(() => import('./form/ViewFormKnobButton.vue'));
const ViewFormToggleButton = defineAsyncComponent(() => import('./form/ViewFormToggleButton.vue'));


const ViewChartLine = defineAsyncComponent(() => import('./chart/ViewChartLine.vue'));
const ViewChartCurve = defineAsyncComponent(() => import('./chart/ViewChartCurve.vue'));
const ViewChartScatter = defineAsyncComponent(() => import('./chart/ViewChartScatter.vue'));
const ViewChartPie = defineAsyncComponent(() => import('./chart/ViewChartPie.vue'));
const ViewChartArc = defineAsyncComponent(() => import('./chart/ViewChartArc.vue'));
const ViewChartBar = defineAsyncComponent(() => import('./chart/ViewChartBar.vue'));
const ViewChartGauge = defineAsyncComponent(() => import('./chart/ViewChartGauge.vue'));
const ViewChartSimpleGauge = defineAsyncComponent(() => import('./chart/ViewChartSimpleGauge.vue'));
const ViewChartMap = defineAsyncComponent(() => import('./chart/ViewChartMap.vue'));

const ViewMediaWebsite = defineAsyncComponent(() => import('./media/ViewMediaWebsite.vue'));
const ViewMediaVideo = defineAsyncComponent(() => import('./media/ViewMediaVideo.vue'));
const ViewMediaAudio = defineAsyncComponent(() => import('./media/ViewMediaAudio.vue'));

const ViewAnimationRotate  = defineAsyncComponent(() => import('./animation/ViewAnimationRotate.vue'));
const ViewAnimationRotateIcon = defineAsyncComponent(() => import('./animation/ViewAnimationRotateIcon.vue'));
const ViewAnimationTwinkle = defineAsyncComponent(() => import('./animation/ViewAnimationTwinkle.vue'));
const ViewAnimationFlow = defineAsyncComponent(() => import('./animation/ViewAnimationFlow.vue'));

const ViewReportTable = defineAsyncComponent(() => import('./report/ReportTable.vue'));

const ViewRecyclingWaterTank = defineAsyncComponent(() => import('./custom/ViewRecyclingWaterTank.vue'))

export default defineComponent({
  name: 'BaseComponent',
  components: {
    ViewTupleBasic,
    ViewTupleImage,

    ViewChartLine,
    ViewChartCurve,
    ViewChartScatter,
    ViewChartPie,
    ViewChartArc,
    ViewChartBar,
    ViewChartGauge,
    ViewChartSimpleGauge,
    ViewChartMap,

    ViewMediaWebsite,
    ViewMediaVideo,
    ViewMediaAudio,

    ViewFormVariable,
    ViewFormTextVariable,
    ViewFormToggle,
    ViewFormCircularProgress,
    ViewFormLinearProgress,
    ViewFormButton,
    ViewFormKnobButton,
    ViewFormToggleButton,
    ViewTupleTable,

    ViewAnimationRotate,
    ViewAnimationRotateIcon,
    ViewAnimationTwinkle,
    ViewAnimationFlow,

    ViewReportTable,

    ViewRecyclingWaterTank
  },
  setup () {
    return {

    };
  }
});
</script>


